package jdk8.repeateannotation;


/**
 * Description: jdk1.8新特性：重复注解（Repeate Annotation）
 * Java 8打破了这个限制，引入了重复注解的概念，允许在同一个地方多次使用同一个注解。
 * 在Java 8中使用@Repeatable注解定义重复注解，实际上，这并不是语言层面的改进，而是编译器做的一个trick，底层的技术仍然相同。
 * 
 * 个人认为：不是很有用，提高了代码的阅读性吧
 * @author Kwum
 * @date 2017年6月28日 下午2:24:11
 * @version 1.0
 */

public class Run {

    public static void main(String[] args) {
        System.out.println("Java SE8 Repeate Annotation!");
    }

}

//Java SE8之前 的重复注解使用
/*
public @interface Authority {
    String role();
}

public @interface Authorities {
   Authority[] value();
}

public class RepeatAnnotationUseOldVersion {
   
   @Authorities({@Authority(role="Admin"),@Authority(role="Manager")})
   public void doSomeThing(){
   }
}
*/


//Java SE8 的重复注解使用
/*
@Repeatable(Authorities.class)
public @interface Authority {
     String role();
}

public @interface Authorities {
    Authority[] value();
}

public class RepeatAnnotationUseNewVersion {
    @Authority(role="Admin")
    @Authority(role="Manager")
    public void doSomeThing(){ }
}
*/
